home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 November / Macworld (1999-11).dmg / Shareware World / Info / For Developers / Smile1.6.6.sea / Smile1.6.6 / Smile ƒ / Help files / Coercions < prev    next >
Text File  |  1999-07-19  |  2KB  |  69 lines

  1. Smile coercions
  2.  
  3.  
  4. Smile provides some useful coercions. To use them, your script must be running under Smile.
  5.  
  6.  
  7. Coercions for scripts
  8.  
  9. You can make a script into a string, and a string into a script. This allows for dynamical script editing (in other terms, making or changing a script by script).
  10. ----------------------------
  11. set script of window 1 to "--    aaargh !"
  12. ----------------------------
  13.  
  14. This simple example replaces the object script of the active window.
  15.  
  16. ----------------------------
  17. display dialog (script of window 1 as text)
  18. ----------------------------
  19.  
  20. This will display the script of the active window in a dialog box (provided it is not too long).
  21.  
  22.  
  23. Turning things into string
  24.  
  25. The "display" command, part of the Smile Dictionary, coerces any arbitrary reference to text. For instance, you can turn a list into its usual string representation :
  26. ----------------------------
  27. display true --> "true"
  28. ----------------------------
  29.  
  30. ========================================================
  31.  
  32. Advanced
  33.  
  34. • If "display" does not seem to be able to coerce some expression into text, try making the expression a list's item (this powerful trick has been pointed out by J-P Pellet).
  35. ----------------------------
  36. display ({application "Finder"})
  37. ----------------------------
  38.  
  39. • Smile can make any of its objects into a record, which contains all its properties, except its script.
  40. ----------------------------
  41. window 1 as record
  42. ----------------------------
  43.  
  44. Note that you can get a more complete record, containing all the data needed to clone the object, by using the command "whole". (Use this example with care).
  45. ----------------------------
  46. make basic object with properties (get whole of window 1):
  47. ----------------------------
  48.  
  49. • Smile can make any property of "every ..." into a list. The plural can be used instead of the "every" keyword.
  50. ----------------------------
  51. windows as list --> returns the list of the opened windows
  52. ----------------------------
  53.  
  54. ----------------------------
  55. name of windows --> returns the list of the names of the opened windows
  56. ----------------------------
  57.  
  58. • When working in Smile, you can get the four-character codes of the object classes.
  59. ----------------------------
  60. class of window 1 as text --> "cwtx"
  61. ----------------------------
  62.  
  63. For properties, use the "as raw code" coercion.
  64. ----------------------------
  65. bounds as raw code as text --> "pbnd"
  66. ----------------------------
  67.  
  68. ========================================================
  69.